package com.yantong.service;

import com.yantong.utils.PageUtils;
import com.yantong.pojo.ProductSku;

public interface ProductSkuService {

	/**
	 * 列表
	 * 
	 * @return
	 * @author baolingyu
	 * @date 2018年8月28日-上午11:44:06
	 */
	PageUtils<ProductSku> list(int offset, int limit, String productName);

	/**
	 * 保存
	 * 
	 * @param obj
	 * @return
	 * @author baolingyu
	 * @date 2018年8月28日-上午11:46:11
	 */
	int save(ProductSku obj);

	/**
	 * 详情
	 * 
	 * @param id
	 * @return
	 * @author baolingyu
	 * @date 2018年8月28日-上午11:46:18
	 */
	ProductSku getByKey(Long id);

	/**
	 * 更新
	 * 
	 * @param obj
	 * @return
	 * @author baolingyu
	 * @date 2018年8月28日-上午11:46:25
	 */
	int update(ProductSku obj);

	/**
	 * 删除
	 * 
	 * @param id
	 * @return
	 * @author baolingyu
	 * @date 2018年8月28日-上午11:46:32
	 */
	int remove(Long id);

	/**
	 * sku详情，带缓存
	 * @param skuId
	 * @return
	 */
	ProductSku getSkuByKeyWithCache(Long skuId);

	/**
	 * 库存更新
	 * @param total
	 * @param sku
	 * @return
	 */
	int changeStock(int total, ProductSku sku);
	int changeStock(int total, Long skuId);

	/**
	 * 退还库存
	 * @param total
	 * @param sku
	 * @return
	 */
	int refundStock(int total, ProductSku sku);
}
